package org.easy.rocketmq.dto;

public interface IMessage {

    /**
     * 唯一标识 用于mq队列消息搜索
     */
    String getKey();

    /**
     * Tag是消息的标签，用于进一步区分同一个Topic下的不同消息类型。
     * 它可以理解为二级分类，允许消费者按照Tag对消息进行过滤，
     * 确保消费者最终只消费到他们关注的消息类型
     *
     * @return
     */
    String getTag();

    /**
     * 获取延迟时间 单位毫秒
     *
     * @return
     */
    Long getDelay();


    /**
     * 业务唯一id 用于幂等校验
     */
    String getBusinessUniqueId();

    /**
     * 业务id
     */
    Long getBizId();

    /**
     * 业务类型
     */
    Integer getBizType();


}
